package com.itheima.d04_interface_jdk8_new_features;

/**
 * 跳舞功能接口
 */
public interface IDance {

    //成员1：常量
    String name = "街舞";

    //成员2：抽象方法，跳舞功能方法
    void dance();


    /*
        jdk8新成员3：默认方法，使用default修饰，可以有方法体
        归属：实现类
        作用：对实现了当前接口的实现类进行了功能增强
     */
    default  void defaultMethod(){
        System.out.println("默认方法1");
        privateMethod();
    }

    default  void defaultMethod2(){
        System.out.println("默认方法2");
        privateMethod();
    }


    /*
        jdk8新成员4：私有方法，使用private修饰，可以有方法体
        归属：实现类，实现类对象无法使用
        作用：内部使用，提取的默认方法中重复代码，提高代码复用性
    */
    private  void privateMethod(){
        System.out.println("私有方法");
        for (int i = 0; i < 100; i++) {
            System.out.println("hello");
        }
    }


    /*
        jdk8新成员5：类方法，使用static修饰，可以有方法体
        归属：当前接口，使用当前接口就可以调用
        作用：外部使用，增强接口的功能
    */
     static  void staticMethod(){
        System.out.println("静态类方法");
    }

}















